import 'dart:io';
import 'lib/asr_ffi.dart';

/// 简单的日志功能测试脚本
void main() async {
  print('=== ASR ONNX FFI 日志功能测试 ===');

  try {
    // 初始化ASR系统
    print('1. 初始化ASR系统...');
    await AsrFFI.initialize();
    print('✓ ASR系统初始化完成');

    // 获取日志文件路径
    final logPath = AsrFFI.getLogFilePath();
    print('2. 日志文件路径: $logPath');

    if (logPath != null && File(logPath).existsSync()) {
      print('✓ 日志文件已创建');

      // 检查日志文件大小
      final logFile = File(logPath);
      final fileSize = logFile.lengthSync();
      print('3. 日志文件大小: $fileSize 字节');

      // 读取并显示日志文件的前几行
      final content = await logFile.readAsString();
      final lines = content.split('\n');
      print('4. 日志文件内容预览 (前10行):');
      for (int i = 0; i < lines.length && i < 10; i++) {
        print('   ${i + 1}: ${lines[i]}');
      }

      // 测试强制刷新日志
      print('5. 测试强制刷新日志...');
      await AsrFFI.flushLogs();
      print('✓ 日志刷新完成');

      print('\n=== 测试完成 ===');
      print('✓ 日志功能正常工作');
      print('✓ 日志文件已保存到桌面: $logPath');
      print('\n请打开日志文件查看详细内容。');

      // 尝试打开日志文件夹
      print('\n6. 尝试打开日志文件夹...');
      await AsrFFI.openLogFileFolder();
      print('✓ 已尝试打开日志文件夹');
    } else {
      print('❌ 日志文件未创建或不存在');
    }
  } catch (e, stackTrace) {
    print('❌ 测试失败: $e');
    print('堆栈跟踪: $stackTrace');
  }
}
